<script>
  //   两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。

  //   给你两个整数 x 和 y，计算并返回它们之间的汉明距离。

  // 输入：x = 1, y = 4
  // 输出：2
  // 解释：
  // 1   (0 0 0 1)
  // 4   (0 1 0 0)
  //        ↑   ↑
  // 上面的箭头指出了对应二进制位不同的位置。

  // 来源：力扣（LeetCode）
  // 链接：https://leetcode.cn/problems/hamming-distance

  /**
   * 异或请解
   */

  /**
   * @param {number} x
   * @param {number} y
   * @return {number}
   */
  function get1Cnt(x) {
    var cnt = 0;
    while (x) {
      x &= x - 1;
      ++cnt;
    }
    return cnt;
  }
  var hammingDistance = function (x, y) {
    return get1Cnt(x ^ y);
  };
</script>
